home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
073 - ProSEL 3.3.dsk
/
INSTALL.PROSEL.bas
< prev
next >
Wrap
BASIC Source File
|
2019-02-17
|
8KB
|
189 lines
1 GOTO 16
2 FOR I = 0 TO NF: GOSUB 8: NEXT : RETURN
3 PRINT : VTAB V: GOSUB 9: IF T <18 THEN I = F: GOSUB 8: RETURN
4 IF F <3 THEN RETURN
5 IF F <11 AND F >4 THEN RETURN
6 IF F >15 AND F <20 THEN RETURN
7 I = F -2 -4 *(F >10) +2 *(F >19)
8 PRINT : VTAB V(I) +3: HTAB H(I) +6: PRINT S$(I): RETURN
9 HTAB 36: PRINT MO$"_"MF$;: POKE 36,40: PRINT MO$"Z"MF$;: RETURN
10 T$ = " " +D$(F):V = V(F) +3
11 FOR T = 1 TO 39 STEP 2: PRINT : VTAB V: POKE 36,H(F) +2 +T: PRINT T$: GOSUB 3: NEXT
12 IF F <16 THEN RETURN
13 FOR T = V TO V(F) +(F <20) STEP -1
14 PRINT : VTAB T: POKE 36,H(F) +42: PRINT SPC( 15): PRINT
15 PRINT : VTAB T -1: POKE 36,H(F) +41: PRINT T$: NEXT : RETURN
16 IF PEEK(176) >30 THEN STOP
17 IF PEEK(34) THEN 20
18 PRINT CHR$(4)"PR#3": HOME
19 GOSUB 189: GOSUB 186: POKE 34,4
20 PRINT CHR$(4)"BLOAD/FLOPPY/COMMANDS/COPY,TCMD,A$4000": CALL 16384
21 LOMEM: 24576:N = 51: DIM DT$(N),DL$(N),DF$(N)
22 NF = 23: DIM V(NF),H(NF),S$(NF),D$(NF)
23 HOME :U$ = "______________":L$ = "LLLL":S$ = "SYSTEM":SS$ = "SYSTEM/START":X$ = "XXXXXXXX":Y$ = "YYYYYYYY":UL$ = "UNLOCK":RN$ = "RENAME":DE$ = "DELETE":D$ = CHR$(4):P$ = "PROSEL"
24 CF$ = D$ +"COPY/FLOPPY/":CE$ = D$ +"COPY/EXTRAS/":PR$ = " press a key."
25 DP$ = "/HARD1/"
26 PRINT : PRINT "Please give the name of the volume that is to receive "P$"."
27 PRINT "Press RETURN to accept the name shown: "DP$;
28 FOR I = 1 TO LEN(DP$): PRINT CHR$(8);: NEXT
29 INPUT "";NW$: IF NW$ < >"" THEN DP$ = NW$
30 IF LEFT$(DP$,1) < >"/" THEN DP$ = "/" +DP$
31 IF RIGHT$(DP$,1) < >"/" THEN DP$ = DP$ +"/"
32 ONERR GOTO 141
33 FOR I = 2 TO LEN(DP$) -1
34 CH = ASC( MID$ (DP$,I,1)): IF CH = > ASC("a") THEN DP$ = LEFT$(DP$,I -1) + CHR$(CH -32) + RIGHT$(DP$, LEN(DP$) -I)
35 NEXT
36 PRINT D$"PREFIX"DP$
37 POKE 216,0: IF DP$ = "/FLOPPY/" THEN 142
38 PRINT : INPUT "Install 40 or 80 column version or Videoterm version? (40/80/VT):";V$
39 IF V$ < >"40" AND V$ < >"80" AND V$ < >"VT" AND V$ < >"vt" THEN 38
40 GOSUB 104
41 IF UT THEN PRINT D$UL$DP$"UTIL": PRINT D$RN$DP$"UTIL,"DP$"UTILXXX"
42 IF NOT SY THEN 51
43 SY$ = DF$(SY)
44 PRINT D$"BSAVE"Y$",A$2000,L10"
45 PRINT D$UL$SY$
46 IF BA >0 THEN PRINT D$UL$"BASIC."S$
47 PRINT D$"COPY"SY$","X$
48 PRINT D$DE$SY$
49 PRINT D$DE$Y$
50 IF SY$ = "BASIC.SYSTEM " THEN SY = 0: PRINT D$DE$X$
51 GOSUB 189
52 TEXT : PRINT : HOME : GOSUB 159: GOSUB 185: GOSUB 148: GOSUB 2
53 POKE 48655,0: ONERR GOTO 89
54 FOR F = 1 TO NF
55 IF F = 5 THEN PRINT D$"CREATE UTIL,TDIR"
56 IF F = 5 THEN PRINT D$"PREFIX UTIL"
57 IF S$(F) = "PRODOS" THEN IF PD THEN 62
58 IF F = 16 THEN POKE 49168,0: GOSUB 176
59 IF F <16 THEN PRINT CF$S$(F)","D$(F)
60 IF F >15 THEN PRINT CE$S$(F)","D$(F)
61 GOSUB 10
62 NEXT
63 ONERR GOTO 97
64 FOR I = 48946 TO 48946 + PEEK(48945)
65 FOR J = 5 TO 7
66 IF INT( PEEK(I)/16) < >J THEN 71
67 POKE 8192,76: POKE 8193,0: POKE 8194,J +12 *16
68 READ V,H: PRINT : VTAB V +3: POKE 36,H: PRINT "BOOT.S";J
69 PRINT D$"CREATE BOOT.S";J;",TSYS"
70 PRINT D$"BSAVE BOOT.S";J;",TSYS,A$2000,L3"
71 NEXT J,I
72 PRINT D$"PREFIX"DP$
73 ONERR GOTO 82
74 PRINT D$"VERIFY"SS$
75 PRINT : VTAB 19: POKE 36,41: PRINT MO$L$MF$S$MO$L$MF$"\___"U$
76 PRINT : POKE 36,58: PRINT "START"
77 F = 0: GOSUB 10: VTAB 21: POKE 36,58: PRINT "OLD.START"
78 PRINT D$UL$SS$
79 PRINT D$RN$SS$","S$"/OLD.START"
80 ONERR GOTO 93
81 PRINT CE$"START,"SS$
82 POKE 216,0
83 IF SY THEN PRINT D$RN$X$","SY$
84 IF DL$(SY) = "*" THEN PRINT D$"LOCK";SY$
85 VTAB 23: PRINT CHR$(139): PRINT TAB( 20)"Installation complete -"PR$;: GOSUB 88: HOME
86 TEXT : PRINT : HOME : PRINT D$"-"P$"."S$
87 STOP
88 POKE 49168,0: WAIT 49152,128: POKE 49168,0: RETURN
89 ER = PEEK(48655): ONERR GOTO 98
90 PRINT D$UL$D$(F)
91 PRINT D$DE$D$(F)
92 GOTO 98
93 ER = PEEK(48655): ONERR GOTO 98
94 PRINT D$UL$SS$
95 PRINT D$DE$SS$
96 PRINT D$RN$S$"/OLD.START,"SS$
97 ER = PEEK(48655)
98 POKE 216,0: POKE 49168,0: VTAB 23: PRINT : HTAB 18: IF NOT ER THEN PRINT "E";: GOTO 101
99 POKE 48655,ER: POKE 40876,160: GOSUB 188
100 CALL 640: PRINT "e";
101 PRINT "rror occurred -"PR$;: VTAB 10: PRINT : GOSUB 88
102 PRINT D$"PREFIX"DP$
103 GOTO 83
104 POKE 48655,0
105 ONERR GOTO 143
106 PRINT D$"OPEN"DP$",TDIR"
107 PRINT D$"READ"DP$
108 INPUT A$,A$,A$
109 I = 0: ONERR GOTO 124
110 INPUT A$: IF NOT LEN(A$) THEN 123
111 I = I +1:A$ = LEFT$(A$,20): IF I >N THEN 143
112 DT$(I) = RIGHT$(A$,3):DL$(I) = LEFT$(A$,1):DF$(I) = MID$ (A$,2,16)
113 IF DF$(I) = P$ +".SYSTEM " THEN 128
114 IF DF$(I) = P$ +" " THEN 128
115 IF DF$(I) = X$ +" " OR DF$(I) = Y$ +" " THEN 133
116 IF (SY >0) OR (DT$(I) < >"SYS") THEN 119
117 FOR J = 2 TO 16 -7: IF MID$ (DF$(I),J,7) = "." +S$ THEN SY = I
118 NEXT
119 IF DF$(I) = "BASIC.SYSTEM " THEN BA = 1
120 IF DF$(I) = "PRODOS " THEN PD = 1
121 IF DF$(I) = "UTIL " THEN UT = 1
122 GOTO 110
123 INPUT A$:SZ = VAL( RIGHT$(A$,21)): GOTO 125
124 CALL 62248: ONERR GOTO 143
125 DN = I: PRINT D$"CLOSE"DP$
126 POKE 216,0: IF DN >N -5 THEN 137
127 RETURN
128 GOSUB 125: HOME
129 PRINT : PRINT P$" already exists on ";DP$;". Either delete all "P$" related"
130 PRINT "files on ";DP$;" and rerun this program, or select the " CHR$(34)"revision" CHR$(34)
131 PRINT "option."
132 GOTO 146
133 GOSUB 125: HOME
134 PRINT "This program creates scratch files "X$" and "Y$". One of these names"
135 PRINT "is now on your ";DP$;" directory. Rename it";
136 GOTO 139
137 HOME : PRINT "The directory of ";DP$;" is too full for the installation to operate."
138 PRINT "You must get rid of some files on the main directory";
139 PRINT " and rerun this program."
140 GOTO 146
141 HOME : PRINT "Volume ";DP$;" not found.": GOTO 146
142 HOME : PRINT "Cannot install on volume named FLOPPY.": GOTO 146
143 POKE 49044,0: PRINT D$"CLOSE"
144 GOSUB 188
145 IF PEEK(48655) THEN CALL 640
146 PRINT : PRINT TAB( 28)"INSTALLATION ABORTED"
147 TEXT : VTAB 22: NEW : END
148 PRINT : VTAB 1: PRINT " ____"U$U$" ____"U$U$
149 HTAB 4: INVERSE : PRINT SPC( 12): NORMAL : PRINT "/FLOPPY/";: INVERSE : PRINT SPC( 12): POKE 36,41
150 L = INT((32 - LEN(DP$))/2): PRINT SPC( L)
151 NORMAL : PRINT DP$;: INVERSE : PRINT SPC( 32 -L - LEN(DP$)): NORMAL : PRINT
152 VTAB 2: FOR I = 1 TO 20: PRINT " "MO$"Z"MF$;: GOSUB 9
153 POKE 36,73: PRINT MO$"_"MF$: NEXT
154 PRINT " "MO$L$L$L$L$L$L$L$L$MF$" "MO$L$L$L$L$L$L$L$L$MF$
155 VTAB 5: POKE 36,41: PRINT U$
156 VTAB 6: POKE 36,46: PRINT "UTIL \___"U$
157 VTAB 14: HTAB 4: PRINT "____"U$U$
158 HTAB 4: INVERSE : PRINT SPC( 12): NORMAL : PRINT "/EXTRAS/";: INVERSE : PRINT SPC( 12): NORMAL : PRINT : RETURN
159 RESTORE : FOR I = 0 TO NF: READ V(I),H(I),S$(I)
160 IF S$(I) < >"BEACH.COMBER" THEN 163
161 IF SZ <20000 THEN 163
162 S$(I) = "BEACH.COMBER.20": IF PEEK(65535) = 192 THEN S$(I) = "BEACH.COMBER.32"
163 D$(I) = S$(I): IF S$(I) = P$ THEN S$(I) = P$ +"." +V$
164 IF S$(I) = "COPY" THEN IF PEEK(65535) = 192 THEN S$(I) = "COPY.GS"
165 NEXT : RETURN
166 DATA 18,0,"START"
167 DATA 0,15,"PRODOS",1,15,"PROSEL.SYSTEM",0,0,"PROSEL"
168 DATA 1,0,"BASIC.SYSTEM",5,15,"BACKUP",6,15,"RESTORE"
169 DATA 7,15,"RECOVER",8,15,"COPY",9,15,"CAT.DOCTOR",10,15,"CD.EXT"
170 DATA 5,0,"BLOCK.WARDEN",6,0,"PROSEL.ED",7,0,"INFO.DESK",8,0,"FIND.FILE"
171 DATA 9,0,"UNI.FORMAT",14,15,"BEACH.COMBER",15,15,"MR.FIXIT"
172 DATA 16,15,"SCAVENGE",17,15,"PASSWORD",14,0,"CACHE"
173 DATA 15,0,"CACHE.XL",16,0,"PROSEL.CYCLER",17,0,"CYCLER.EDITOR"
174 DATA 14,43,15,58,15,43
175 CALL 62248
176 VTAB 22: PRINT CHR$(7): PRINT CHR$(139)
177 VTAB 22: PRINT : PRINT TAB( 14)"Please insert the disk /EXTRAS/ and"PR$;
178 IF PEEK(49152) >127 THEN 182
179 FOR I = 1 TO 300: NEXT : VTAB 22: PRINT : HTAB 37: INVERSE : PRINT "/EXTRAS/";
180 NORMAL : FOR I = 1 TO 300: NEXT
181 IF PEEK(49152) <128 THEN 177
182 VTAB 5: PRINT : POKE 49168,0
183 ONERR GOTO 175
184 PRINT D$"VERIFY/EXTRAS"
185 POKE 216,0: VTAB 22: PRINT : PRINT CHR$(11);
186 PRINT TAB( 29)"ProSel installation"
187 PRINT TAB( 29)MO$"LLLLLLLLLLLLLLLLLLL"MF$;: VTAB 5: PRINT : RETURN
188 POKE 640,173: POKE 641,15: POKE 642,190: POKE 643,76: POKE 644,12: POKE 645,190: RETURN
189 MO$ = CHR$(27) + CHR$(15):MF$ = CHR$(24) + CHR$(14): RETURN